package com.hgshop.yudongyang.service.impl;

import java.util.List;

import javax.annotation.Resource;

import org.apache.dubbo.config.annotation.Service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hgshop.yudongyang.dao.SkuMapper;
import com.hgshop.yudongyang.domain.Sku;
import com.hgshop.yudongyang.domain.SkuVo;
import com.hgshop.yudongyang.service.SkuService;
@Service
public class SkuServiceImpl implements SkuService {

	@Resource
	SkuMapper skuMapper;

	@Override
	public PageInfo<Sku> list(Integer pageNum, Integer pageSize, SkuVo vo) {
		// TODO Auto-generated method stub
		PageHelper.startPage(pageNum, pageSize);
		return new PageInfo<Sku>(skuMapper.list(vo));
	}

	@Override
	public void add(Sku sku, Integer[] specIds, Integer[] optionIds) {
		//添加主表
		skuMapper.addSku(sku);
		
		//添加中间表
		for (int i = 0; i < optionIds.length; i++) {
			skuMapper.addSkuSpec(specIds[i],optionIds[i],sku.getId());
	}
	}

	@Override
	public Sku findSkuById(int id) {
		// TODO Auto-generated method stub
		return skuMapper.findSkuById(id);
	}

	@Override
	public void update(Sku sku, Integer[] specIds, Integer[] optionIds) {
		// TODO Auto-generated method stub
		//1.先根据skuid修改sku表
				skuMapper.update(sku);
				//2.根据skuId删除sku_spec表中的数据
				skuMapper.del(sku);
				//3.添加中间表
				for (int i = 0; i < optionIds.length; i++) {
					skuMapper.addSkuSpec(specIds[i],optionIds[i],sku.getId());
				}
	}

	@Override
	public List<Sku> findSkuBySpuId(Integer spuId) {
		// TODO Auto-generated method stub
		return skuMapper.findSkuBySpuId(spuId);
	}
	
}
